#include<vector>
#include<math.h>
using namespace std;

class Solution {
private:
    double PI = 3.1415;
    double radius;
    double x_center;
    double y_center;
public:
    Solution(double radius, double x_center, double y_center) :radius(radius), x_center(x_center), y_center(y_center) {

    }

    vector<double> randPoint() {
        double p = radius*sqrt((double)rand() / RAND_MAX);
        double theta = (double)rand() / RAND_MAX * 2 * PI;
        return { x_center + p * cos(theta) ,y_center + p * sin(theta) };
    }
};

//class Solution {
//private:
//    double PI = 3.1415;
//    double radius;
//    double x_center;
//    double y_center;
//public:
//    Solution(double radius, double x_center, double y_center) :radius(radius), x_center(x_center), y_center(y_center) {
//
//    }
//
//    vector<double> randPoint() {
//        while (true) {
//            double x = 2 * (double)rand() / RAND_MAX - 1;
//            double y = 2 * (double)rand() / RAND_MAX - 1;
//            if (x * x + y * y <= 1) {
//                return { x_center + x * radius,y_center + y * radius };
//            }
//        }
//        return { x_center ,y_center };
//    }
//};

/**
 * Your Solution object will be instantiated and called as such:
 * Solution* obj = new Solution(radius, x_center, y_center);
 * vector<double> param_1 = obj->randPoint();
 */